home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-07-06 | 25.6 KB | 1,729 lines |
- # GNU C 2.7.2.1
- # -O2 -fdefer-pop -fomit-frame-pointer -fcse-follow-jumps -fcse-skip-blocks
- # -fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole
- # -fforce-mem -ffunction-cse -finline -fcaller-saves -fpcc-struct-return
- # -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fcommon
- # -fgnu-linker -mpowerpc -mnew-mnemonics
-
- .file "BusTestPPC.c"
- gcc2_compiled.:
- .globl loopticks
- .section ".data"
- .align 3
- .type loopticks,@object
- .size loopticks,8
- loopticks:
- .long 0
- .long 0
- .globl LoopCount
- .align 2
- .type LoopCount,@object
- .size LoopCount,4
- LoopCount:
- .long 100
- .globl ArgumentString
- .section .rodata
- .align 2
- .LC0:
- .string "Size/N,Loop/N,Address/N,ASize/N,Full/S,Chip/S,Rom/S,MMU/S,CACHE/S"
- .section ".data"
- .align 2
- .type ArgumentString,@object
- .size ArgumentString,4
- ArgumentString:
- .long .LC0
- .section .rodata
- .align 2
- .LC1:
- .string "dos.library"
- .align 2
- .LC2:
- .string "Commandline Error\n"
- .align 2
- .LC3:
- .string "Error: Can`t alloc Dest Fastram:\n"
- .align 2
- .LC4:
- .string "Error: Can`t alloc Source Fastram:\n"
- .align 2
- .LC5:
- .string "CopyBack "
- .align 2
- .LC6:
- .string "WriteThrough "
- .align 2
- .LC7:
- .string "NoCache "
- .align 2
- .LC8:
- .string "NoCacheSync "
- .align 2
- .LC9:
- .string "Chipram:\n"
- .align 2
- .LC10:
- .string "Rom:\n"
- .align 2
- .LC11:
- .string "Ram Size 0x%lx Loop Count %ld\n"
- .align 2
- .LC12:
- .string "0x%08lx - 0x%08lx: assumes cacheoff at the address\n"
- .align 2
- .LC13:
- .string "Can`t open dos.library\n"
- .section ".text"
- .align 2
- .globl main
- .type main,@function
- .long 0x7c04c
- main:
- stwu 1,-48(1)
- mflr 0
- stw 28,32(1)
- stw 29,36(1)
- stw 30,40(1)
- stw 31,44(1)
- stw 0,52(1)
- mr 31,1
- addis 11,0,SysBase@ha
- li 9,4
- lwz 10,0(9)
- addis 9,0,.LC1@ha
- addi 9,9,.LC1@l
- li 29,0
- li 30,1
- lwz 0,0(1)
- stw 10,SysBase@l(11)
- stwu 0,-144(1)
- addi 3,1,47
- rlwinm 3,3,0,0,26
- stw 9,64(3)
- stw 29,28(3)
- stw 10,84(3)
- stw 30,4(3)
- stw 30,16(3)
- li 0,-552
- stw 0,0(3)
- bl PPCCallOS
- mr 11,3
- cmpwi 1,11,0
- addis 9,0,DOSBase@ha
- stw 11,DOSBase@l(9)
- bc 12,6,.L4
- addis 9,0,ArgumentString@ha
- lwz 0,0(1)
- addis 28,0,MyArgs@ha
- stwu 0,-144(1)
- addi 3,1,47
- rlwinm 3,3,0,0,26
- stw 29,40(3)
- stw 11,84(3)
- stw 30,4(3)
- lwz 0,ArgumentString@l(9)
- stw 30,16(3)
- stw 0,32(3)
- addi 0,28,MyArgs@l
- stw 0,36(3)
- li 0,-798
- stw 0,0(3)
- bl PPCCallOS
- cmpwi 1,3,0
- bc 4,6,.L7
- addis 3,0,.LC2@ha
- addi 3,3,.LC2@l
- b .L64
- .L7:
- addis 9,0,MyArgs+4@ha
- lwz 9,MyArgs+4@l(9)
- cmpwi 1,9,0
- bc 12,6,.L9
- lwz 0,0(9)
- addis 9,0,LoopCount@ha
- stw 0,LoopCount@l(9)
- .L9:
- lis 0,0x8002
- ori 0,0,16385
- stw 0,8(31)
- stw 30,12(31)
- stw 29,16(31)
- addi 3,31,8
- bl PPCCreateTimerObject
- cmpwi 1,3,0
- addis 9,0,MyTimerObject@ha
- stw 3,MyTimerObject@l(9)
- bc 12,6,.L8
- addis 9,0,CacheBorder@ha
- lis 11,0x1
- stw 11,CacheBorder@l(9)
- lwz 9,MyArgs@l(28)
- li 3,0
- cmpwi 1,9,0
- ori 3,3,32768
- addis 29,0,CacheSize@ha
- stw 3,CacheSize@l(29)
- bc 12,6,.L11
- lwz 0,0(9)
- addis 9,0,MemSize@ha
- addic 0,0,4095
- rlwinm 0,0,0,0,19
- stw 0,MemSize@l(9)
- .L11:
- addis 8,0,MemSize@ha
- addis 9,0,MyArgs+32@ha
- lwz 10,MemSize@l(8)
- lwz 9,MyArgs+32@l(9)
- subfc 11,10,11
- subfe 11,11,11
- nand 11,11,11
- rlwinm 0,11,0,15,15
- cmpwi 1,9,0
- andc 9,10,11
- or 0,0,9
- stw 0,MemSize@l(8)
- bc 4,6,.L14
- addis 9,0,MyArgs+16@ha
- lwz 0,MyArgs+16@l(9)
- cmpwi 1,0,0
- bc 12,6,.L13
- .L14:
- li 4,4
- bl PPCAllocVec
- mr. 30,3
- bc 12,2,.L16
- lwz 3,CacheSize@l(29)
- li 4,4
- bl PPCAllocVec
- mr. 29,3
- bc 12,2,.L17
- mr 3,30
- mr 4,29
- bl CacheTest
- mr 3,29
- bl PPCFreeVec
- b .L18
- .L17:
- addis 3,0,.LC3@ha
- addi 3,3,.LC3@l
- crxor 6,6,6
- bl PPCprintf
- .L18:
- mr 3,30
- bl PPCFreeVec
- b .L13
- .L16:
- addis 3,0,.LC4@ha
- addi 3,3,.LC4@l
- crxor 6,6,6
- bl PPCprintf
- .L13:
- addis 9,0,MyArgs+8@ha
- lwz 0,MyArgs+8@l(9)
- cmpwi 1,0,0
- bc 12,6,.L21
- addis 9,0,MyArgs+16@ha
- lwz 0,MyArgs+16@l(9)
- cmpwi 1,0,0
- bc 12,6,.L20
- .L21:
- addis 28,0,CacheBorder@ha
- addis 29,0,MemSize@ha
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- li 4,4
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 30,3
- bc 12,2,.L22
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- li 4,4
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 29,3
- bc 12,2,.L24
- addis 3,0,.LC5@ha
- addi 3,3,.LC5@l
- crxor 6,6,6
- bl PPCprintf
- mr 3,30
- mr 4,29
- li 5,32
- bl MemoryBurstTest
- mr 3,29
- bl PPCFreeVec
- b .L26
- .L24:
- addis 3,0,.LC3@ha
- addi 3,3,.LC3@l
- crxor 6,6,6
- bl PPCprintf
- .L26:
- mr 3,30
- bl PPCFreeVec
- b .L27
- .L22:
- addis 3,0,.LC4@ha
- addi 3,3,.LC4@l
- crxor 6,6,6
- bl PPCprintf
- .L27:
- addis 9,0,MyArgs+28@ha
- lwz 0,MyArgs+28@l(9)
- cmpwi 1,0,0
- bc 4,6,.L29
- addis 9,0,MyArgs+16@ha
- lwz 0,MyArgs+16@l(9)
- cmpwi 1,0,0
- bc 12,6,.L20
- .L29:
- lis 4,0x40
- addis 28,0,CacheBorder@ha
- addis 29,0,MemSize@ha
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- ori 4,4,4
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 30,3
- bc 12,2,.L30
- lis 4,0x40
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- ori 4,4,4
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 29,3
- bc 12,2,.L32
- addis 3,0,.LC6@ha
- addi 3,3,.LC6@l
- crxor 6,6,6
- bl PPCprintf
- mr 3,30
- mr 4,29
- li 5,0
- bl MemoryBurstTest
- mr 3,29
- bl PPCFreeVec
- b .L34
- .L32:
- addis 3,0,.LC3@ha
- addi 3,3,.LC3@l
- crxor 6,6,6
- bl PPCprintf
- .L34:
- mr 3,30
- bl PPCFreeVec
- b .L35
- .L30:
- addis 3,0,.LC4@ha
- addi 3,3,.LC4@l
- crxor 6,6,6
- bl PPCprintf
- .L35:
- lis 4,0x100
- addis 28,0,CacheBorder@ha
- addis 29,0,MemSize@ha
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- ori 4,4,4
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 30,3
- bc 12,2,.L36
- lis 4,0x100
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- ori 4,4,4
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 29,3
- bc 12,2,.L38
- addis 3,0,.LC7@ha
- addi 3,3,.LC7@l
- crxor 6,6,6
- bl PPCprintf
- mr 3,30
- mr 4,29
- bl MemorySingleTest
- mr 3,29
- bl PPCFreeVec
- b .L40
- .L38:
- addis 3,0,.LC3@ha
- addi 3,3,.LC3@l
- crxor 6,6,6
- bl PPCprintf
- .L40:
- mr 3,30
- bl PPCFreeVec
- b .L41
- .L36:
- addis 3,0,.LC4@ha
- addi 3,3,.LC4@l
- crxor 6,6,6
- bl PPCprintf
- .L41:
- lis 4,0x2000
- addis 28,0,CacheBorder@ha
- addis 29,0,MemSize@ha
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- ori 4,4,4
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 30,3
- bc 12,2,.L42
- lis 4,0x2000
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- ori 4,4,4
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 29,3
- bc 12,2,.L44
- addis 3,0,.LC8@ha
- addi 3,3,.LC8@l
- crxor 6,6,6
- bl PPCprintf
- mr 3,30
- mr 4,29
- bl MemorySingleTest
- mr 3,29
- bl PPCFreeVec
- b .L46
- .L44:
- addis 3,0,.LC3@ha
- addi 3,3,.LC3@l
- crxor 6,6,6
- bl PPCprintf
- .L46:
- mr 3,30
- bl PPCFreeVec
- b .L20
- .L42:
- addis 3,0,.LC4@ha
- addi 3,3,.LC4@l
- crxor 6,6,6
- bl PPCprintf
- .L20:
- addis 9,0,MyArgs+20@ha
- lwz 0,MyArgs+20@l(9)
- cmpwi 1,0,0
- bc 4,6,.L49
- addis 9,0,MyArgs+16@ha
- lwz 0,MyArgs+16@l(9)
- cmpwi 1,0,0
- bc 12,6,.L48
- .L49:
- addis 28,0,CacheBorder@ha
- addis 29,0,MemSize@ha
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- li 4,2
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 30,3
- bc 12,2,.L50
- lwz 3,MemSize@l(29)
- lwz 9,CacheBorder@l(28)
- li 4,2
- subfc 0,9,3
- subfe 0,0,0
- nand 0,0,0
- and 3,3,0
- andc 0,9,0
- or 3,3,0
- addi 3,3,4096
- bl PPCAllocVec
- mr. 29,3
- bc 12,2,.L52
- addis 3,0,.LC9@ha
- addi 3,3,.LC9@l
- crxor 6,6,6
- bl PPCprintf
- mr 3,30
- mr 4,29
- bl MemorySingleTest
- mr 3,29
- bl PPCFreeVec
- b .L54
- .L52:
- addis 3,0,.LC4@ha
- addi 3,3,.LC4@l
- crxor 6,6,6
- bl PPCprintf
- .L54:
- mr 3,30
- bl PPCFreeVec
- b .L48
- .L50:
- addis 3,0,.LC4@ha
- addi 3,3,.LC4@l
- crxor 6,6,6
- bl PPCprintf
- .L48:
- addis 9,0,MyArgs+24@ha
- lwz 0,MyArgs+24@l(9)
- cmpwi 1,0,0
- bc 4,6,.L57
- addis 9,0,MyArgs+16@ha
- lwz 0,MyArgs+16@l(9)
- cmpwi 1,0,0
- bc 12,6,.L56
- .L57:
- addis 3,0,.LC10@ha
- addi 3,3,.LC10@l
- crxor 6,6,6
- bl PPCprintf
- lis 3,0xf8
- li 4,0
- li 5,32
- bl MemoryBurstTest
- .L56:
- addis 30,0,MyArgs+8@ha
- lwz 0,MyArgs+8@l(30)
- cmpwi 1,0,0
- bc 12,6,.L58
- addis 9,0,MyArgs+12@ha
- lwz 9,MyArgs+12@l(9)
- cmpwi 1,9,0
- bc 12,6,.L59
- lwz 0,0(9)
- addis 9,0,MemSize@ha
- addic 0,0,4095
- rlwinm 0,0,0,0,19
- stw 0,MemSize@l(9)
- .L59:
- addis 29,0,MemSize@ha
- addis 9,0,LoopCount@ha
- addis 3,0,.LC11@ha
- lwz 4,MemSize@l(29)
- lwz 5,LoopCount@l(9)
- addi 3,3,.LC11@l
- crxor 6,6,6
- bl PPCprintf
- addis 3,0,.LC12@ha
- lwz 9,MyArgs+8@l(30)
- lwz 5,MemSize@l(29)
- lwz 4,0(9)
- addi 3,3,.LC12@l
- add 5,4,5
- crxor 6,6,6
- bl PPCprintf
- lwz 9,MyArgs+8@l(30)
- lwz 3,0(9)
- li 4,0
- bl MemorySingleTest
- .L58:
- addis 9,0,MyTimerObject@ha
- lwz 3,MyTimerObject@l(9)
- bl PPCDeleteTimerObject
- .L8:
- addis 9,0,DOSBase@ha
- lwz 0,0(1)
- addis 11,0,SysBase@ha
- stwu 0,-144(1)
- addi 3,1,47
- rlwinm 3,3,0,0,26
- lwz 0,DOSBase@l(9)
- lwz 9,SysBase@l(11)
- stw 0,64(3)
- stw 9,84(3)
- li 0,1
- stw 0,4(3)
- stw 0,16(3)
- li 0,-414
- stw 0,0(3)
- bl PPCCallOS
- li 3,0
- b .L63
- .L4:
- addis 3,0,.LC13@ha
- addi 3,3,.LC13@l
- .L64:
- crxor 6,6,6
- bl PPCprintf
- li 3,20
- .L63:
- lwz 11,0(1)
- lwz 0,4(11)
- mtlr 0
- lwz 28,-16(11)
- lwz 29,-12(11)
- lwz 30,-8(11)
- lwz 31,-4(11)
- mr 1,11
- blr
- .Lfe1:
- .size main,.Lfe1-main
- .align 2
- .globl CalcTimer
- .type CalcTimer,@function
- .long 0x404c
- CalcTimer:
- stwu 1,-32(1)
- mflr 0
- stw 28,16(1)
- stw 29,20(1)
- stw 30,24(1)
- stw 31,28(1)
- stw 0,36(1)
- lis 4,0x8002
- ori 4,4,16403
- addis 28,0,MyTimerObject@ha
- addis 29,0,Result@ha
- lwz 3,MyTimerObject@l(28)
- addi 5,29,Result@l
- bl PPCGetTimerObject
- lis 4,0x8002
- ori 4,4,16405
- addi 29,29,Result@l
- mr 5,29
- addis 9,0,ticks@ha
- lwz 0,4(29)
- lwz 3,MyTimerObject@l(28)
- stw 0,ticks@l(9)
- bl PPCGetTimerObject
- lfd 0,0(29)
- addis 9,0,allticks@ha
- addi 9,9,allticks@l
- stfd 0,0(9)
- lwz 0,36(1)
- mtlr 0
- lwz 28,16(1)
- lwz 29,20(1)
- lwz 30,24(1)
- lwz 31,28(1)
- addi 1,1,32
- blr
- .Lfe2:
- .size CalcTimer,.Lfe2-CalcTimer
- .section .rodata
- .align 2
- .LC14:
- .string "CPU Cache isn`t working yet..measurements are wrong\n"
- .section ".text"
- .align 2
- .globl CacheTest
- .type CacheTest,@function
- .long 0x400c
- CacheTest:
- stwu 1,-16(1)
- mflr 0
- stw 0,20(1)
- addis 3,0,.LC14@ha
- addi 3,3,.LC14@l
- crxor 6,6,6
- bl PPCprintf
- lwz 0,20(1)
- mtlr 0
- addi 1,1,16
- blr
- .Lfe3:
- .size CacheTest,.Lfe3-CacheTest
- .section .rodata
- .align 2
- .LC15:
- .string "Bus Burst Performance Statistics\n"
- .align 2
- .LC16:
- .string "%16Ld Line Read\t%4g MB/s Mem Bandwidth\n"
- .globl __divdi3
- .globl __floatdidf
- .align 2
- .LC17:
- .string "%16Ld Line Write\t%4g MB/s Mem Bandwidth\n"
- .align 3
- .LC18:
- .double 0d1.04857600000000000000e6
- .section ".text"
- .align 2
- .globl MemoryBurstTest
- .type MemoryBurstTest,@function
- .long 0x40bc
- MemoryBurstTest:
- stwu 1,-80(1)
- mflr 0
- stw 21,36(1)
- stw 22,40(1)
- stw 23,44(1)
- stw 24,48(1)
- stw 25,52(1)
- stw 26,56(1)
- stw 27,60(1)
- stw 28,64(1)
- stw 29,68(1)
- stw 30,72(1)
- stw 31,76(1)
- stw 0,84(1)
- mr 26,3
- mr 22,5
- addis 3,0,.LC15@ha
- addi 3,3,.LC15@l
- crxor 6,6,6
- bl PPCprintf
- addis 9,0,CacheBorder@ha
- addis 27,0,MyTimerObject@ha
- addis 25,0,LoopCount@ha
- lwz 0,CacheBorder@l(9)
- addis 9,0,loopticks@ha
- addi 23,9,loopticks@l
- addis 9,0,allticks@ha
- addi 24,9,allticks@l
- mr 31,0
- li 30,0
- b .L68
- .L71:
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- li 5,0
- lwz 3,MyTimerObject@l(27)
- bl PPCSetTimerObject
- slwi 9,30,27
- srwi 0,31,5
- or 29,9,0
- srawi 28,30,5
- mr 3,26
- lwz 5,LoopCount@l(25)
- mr 4,29
- bl memreadlinetime
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(24)
- stfd 0,0(23)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(25)
- mr 4,29
- bl memreadline
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(25)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 4,10,31
- add 4,4,9
- mullw 4,4,31
- srwi 5,31,31
- add 5,5,30
- addis 6,0,ticks@ha
- lwz 0,ticks@l(6)
- mullw 5,5,10
- mr 12,0
- li 11,0
- add 7,7,4
- add 7,7,5
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(23)
- lwz 10,4(23)
- lwz 11,0(24)
- lwz 12,4(24)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- addis 21,0,.LC18@ha
- addi 21,21,.LC18@l
- lfd 0,0(21)
- fdiv 1,1,0
- addis 3,0,.LC16@ha
- addi 3,3,.LC16@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- li 3,0
- li 4,4096
- bl PPCSetSignal
- andi. 0,3,4096
- bc 4,2,.L67
- srwi 11,31,31
- slwi 0,30,1
- or 9,11,0
- slwi 10,31,1
- mr 30,9
- mr 31,10
- .L68:
- addis 9,0,MemSize@ha
- lwz 0,MemSize@l(9)
- mr 10,0
- li 9,0
- cmpw 1,30,9
- bc 12,5,.L69
- bc 4,6,.L71
- cmplw 1,31,10
- bc 4,5,.L71
- .L69:
- lis 0,0xf8
- cmpw 1,26,0
- bc 12,6,.L67
- cmpwi 1,22,0
- bc 4,6,.L76
- addis 9,0,CacheBorder@ha
- addis 27,0,MyTimerObject@ha
- addis 25,0,LoopCount@ha
- lwz 0,CacheBorder@l(9)
- addis 9,0,loopticks@ha
- addi 23,9,loopticks@l
- addis 9,0,allticks@ha
- addi 24,9,allticks@l
- mr 31,0
- li 30,0
- b .L77
- .L80:
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- li 5,0
- lwz 3,MyTimerObject@l(27)
- bl PPCSetTimerObject
- slwi 9,30,27
- srwi 0,31,5
- or 29,9,0
- srawi 28,30,5
- mr 3,26
- lwz 5,LoopCount@l(25)
- mr 4,29
- bl memwritelinetime2
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(24)
- stfd 0,0(23)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(25)
- mr 4,29
- bl memwriteline2
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(25)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 4,10,31
- add 4,4,9
- mullw 4,4,31
- srwi 5,31,31
- add 5,5,30
- addis 6,0,ticks@ha
- lwz 0,ticks@l(6)
- mullw 5,5,10
- mr 12,0
- li 11,0
- add 7,7,4
- add 7,7,5
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(23)
- lwz 10,4(23)
- lwz 11,0(24)
- lwz 12,4(24)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- addis 21,0,.LC18@ha
- addi 21,21,.LC18@l
- lfd 0,0(21)
- fdiv 1,1,0
- addis 3,0,.LC17@ha
- addi 3,3,.LC17@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- li 3,0
- li 4,4096
- bl PPCSetSignal
- andi. 0,3,4096
- bc 4,2,.L67
- srwi 11,31,31
- slwi 0,30,1
- or 9,11,0
- slwi 10,31,1
- mr 30,9
- mr 31,10
- .L77:
- addis 9,0,MemSize@ha
- lwz 0,MemSize@l(9)
- mr 10,0
- li 9,0
- cmpw 1,30,9
- bc 12,5,.L67
- bc 4,6,.L80
- cmplw 1,31,10
- bc 12,5,.L67
- b .L80
- .L76:
- addis 9,0,CacheBorder@ha
- addis 27,0,MyTimerObject@ha
- addis 25,0,LoopCount@ha
- lwz 0,CacheBorder@l(9)
- addis 9,0,loopticks@ha
- addi 23,9,loopticks@l
- addis 9,0,allticks@ha
- addi 24,9,allticks@l
- mr 31,0
- li 30,0
- b .L85
- .L88:
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- li 5,0
- lwz 3,MyTimerObject@l(27)
- bl PPCSetTimerObject
- slwi 9,30,27
- srwi 0,31,5
- or 29,9,0
- srawi 28,30,5
- mr 3,26
- lwz 5,LoopCount@l(25)
- mr 4,29
- bl memwritelinetime
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(24)
- stfd 0,0(23)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(25)
- mr 4,29
- bl memwriteline
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(27)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(25)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 4,10,31
- add 4,4,9
- mullw 4,4,31
- srwi 5,31,31
- add 5,5,30
- addis 6,0,ticks@ha
- lwz 0,ticks@l(6)
- mullw 5,5,10
- mr 12,0
- li 11,0
- add 7,7,4
- add 7,7,5
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(23)
- lwz 10,4(23)
- lwz 11,0(24)
- lwz 12,4(24)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- addis 21,0,.LC18@ha
- addi 21,21,.LC18@l
- lfd 0,0(21)
- fdiv 1,1,0
- addis 3,0,.LC17@ha
- addi 3,3,.LC17@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- li 3,0
- li 4,4096
- bl PPCSetSignal
- andi. 0,3,4096
- bc 4,2,.L67
- srwi 11,31,31
- slwi 0,30,1
- or 9,11,0
- slwi 10,31,1
- mr 30,9
- mr 31,10
- .L85:
- addis 9,0,MemSize@ha
- lwz 0,MemSize@l(9)
- mr 10,0
- li 9,0
- cmpw 1,30,9
- bc 12,5,.L67
- bc 4,6,.L88
- cmplw 1,31,10
- bc 4,5,.L88
- .L67:
- lwz 0,84(1)
- mtlr 0
- lwz 21,36(1)
- lwz 22,40(1)
- lwz 23,44(1)
- lwz 24,48(1)
- lwz 25,52(1)
- lwz 26,56(1)
- lwz 27,60(1)
- lwz 28,64(1)
- lwz 29,68(1)
- lwz 30,72(1)
- lwz 31,76(1)
- addi 1,1,80
- blr
- .Lfe4:
- .size MemoryBurstTest,.Lfe4-MemoryBurstTest
- .section .rodata
- .align 2
- .LC19:
- .string "- Bus CacheMode Performance Statistics\n"
- .align 2
- .LC20:
- .string "%16Ld Long Read\t%4g MB/s Mem Bandwidth\n"
- .align 2
- .LC21:
- .string "%16Ld Word Read\t%4g MB/s Mem Bandwidth\n"
- .align 2
- .LC22:
- .string "%16Ld Byte Read\t%4g MB/s Mem Bandwidth\n"
- .align 2
- .LC23:
- .string "%16Ld Long Write\t%4g MB/s Mem Bandwidth\n"
- .align 2
- .LC24:
- .string "%16Ld Word Write\t%4g MB/s Mem Bandwidth\n"
- .align 2
- .LC25:
- .string "%16Ld Byte Write\t%4g MB/s Mem Bandwidth\n"
- .align 3
- .LC26:
- .double 0d1.04857600000000000000e6
- .section ".text"
- .align 2
- .globl MemorySingleTest
- .type MemorySingleTest,@function
- .long 0x42cc
- MemorySingleTest:
- stwu 1,-80(1)
- mflr 0
- stfd 31,72(1)
- stw 20,24(1)
- stw 21,28(1)
- stw 22,32(1)
- stw 23,36(1)
- stw 24,40(1)
- stw 25,44(1)
- stw 26,48(1)
- stw 27,52(1)
- stw 28,56(1)
- stw 29,60(1)
- stw 30,64(1)
- stw 31,68(1)
- stw 0,84(1)
- mr 26,3
- addis 3,0,.LC19@ha
- addi 3,3,.LC19@l
- crxor 6,6,6
- bl PPCprintf
- li 31,4096
- li 30,0
- addis 25,0,MyTimerObject@ha
- addis 24,0,LoopCount@ha
- addis 9,0,loopticks@ha
- addi 22,9,loopticks@l
- addis 9,0,allticks@ha
- addis 20,0,.LC26@ha
- addi 20,20,.LC26@l
- lfd 31,0(20)
- addi 23,9,allticks@l
- addis 21,0,ticks@ha
- b .L93
- .L96:
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- li 5,0
- lwz 3,MyTimerObject@l(25)
- bl PPCSetTimerObject
- slwi 9,30,27
- srwi 0,31,5
- or 28,9,0
- srawi 27,30,5
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memreadlongtime
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(23)
- stfd 0,0(22)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- crxor 6,6,6
- bl memreadlong
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(24)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 5,10,31
- add 5,5,9
- mullw 5,5,31
- srwi 0,31,31
- add 0,0,30
- lwz 6,ticks@l(21)
- mullw 0,0,10
- mr 12,6
- li 11,0
- add 7,7,5
- add 7,7,0
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(22)
- lwz 10,4(22)
- lwz 11,0(23)
- lwz 12,4(23)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- fdiv 1,1,31
- addis 3,0,.LC20@ha
- addi 3,3,.LC20@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memreadwordtime
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(23)
- stfd 0,0(22)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memreadword
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(24)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 5,10,31
- add 5,5,9
- mullw 5,5,31
- srwi 0,31,31
- add 0,0,30
- lwz 6,ticks@l(21)
- mullw 0,0,10
- mr 12,6
- li 11,0
- add 7,7,5
- add 7,7,0
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(22)
- lwz 10,4(22)
- lwz 11,0(23)
- lwz 12,4(23)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- fdiv 1,1,31
- addis 3,0,.LC21@ha
- addi 3,3,.LC21@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memreadbytetime
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(23)
- stfd 0,0(22)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memreadbyte
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(24)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 5,10,31
- add 5,5,9
- mullw 5,5,31
- srwi 0,31,31
- add 0,0,30
- lwz 6,ticks@l(21)
- mullw 0,0,10
- mr 12,6
- li 11,0
- add 7,7,5
- add 7,7,0
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(22)
- lwz 10,4(22)
- lwz 11,0(23)
- lwz 12,4(23)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- fdiv 1,1,31
- addis 3,0,.LC22@ha
- addi 3,3,.LC22@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- li 3,0
- li 4,4096
- bl PPCSetSignal
- andi. 0,3,4096
- bc 4,2,.L92
- srwi 11,31,31
- slwi 0,30,1
- or 9,11,0
- slwi 10,31,1
- mr 30,9
- mr 31,10
- .L93:
- addis 9,0,MemSize@ha
- lwz 0,MemSize@l(9)
- mr 10,0
- li 9,0
- cmpw 1,30,9
- bc 12,5,.L94
- bc 4,6,.L96
- cmplw 1,31,10
- bc 4,5,.L96
- .L94:
- lis 0,0xf8
- cmpw 1,26,0
- bc 12,6,.L92
- li 31,4096
- li 30,0
- addis 25,0,MyTimerObject@ha
- addis 24,0,LoopCount@ha
- addis 9,0,loopticks@ha
- addi 22,9,loopticks@l
- addis 9,0,allticks@ha
- addis 20,0,.LC26@ha
- addi 20,20,.LC26@l
- lfd 31,0(20)
- addi 23,9,allticks@l
- addis 21,0,ticks@ha
- b .L101
- .L104:
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- li 5,0
- lwz 3,MyTimerObject@l(25)
- bl PPCSetTimerObject
- slwi 9,30,27
- srwi 0,31,5
- or 28,9,0
- srawi 27,30,5
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memreadlongtime
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(23)
- stfd 0,0(22)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memwritelong
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(24)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 5,10,31
- add 5,5,9
- mullw 5,5,31
- srwi 0,31,31
- add 0,0,30
- lwz 6,ticks@l(21)
- mullw 0,0,10
- mr 12,6
- li 11,0
- add 7,7,5
- add 7,7,0
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(22)
- lwz 10,4(22)
- lwz 11,0(23)
- lwz 12,4(23)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- fdiv 1,1,31
- addis 3,0,.LC23@ha
- addi 3,3,.LC23@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memreadwordtime
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(23)
- stfd 0,0(22)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memwriteword
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(24)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 5,10,31
- add 5,5,9
- mullw 5,5,31
- srwi 0,31,31
- add 0,0,30
- lwz 6,ticks@l(21)
- mullw 0,0,10
- mr 12,6
- li 11,0
- add 7,7,5
- add 7,7,0
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(22)
- lwz 10,4(22)
- lwz 11,0(23)
- lwz 12,4(23)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- fdiv 1,1,31
- addis 3,0,.LC24@ha
- addi 3,3,.LC24@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memreadbytetime
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lfd 0,0(23)
- stfd 0,0(22)
- bl PPCCacheFlushAll
- lis 4,0x8002
- ori 4,4,16401
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- mr 3,26
- lwz 5,LoopCount@l(24)
- mr 4,28
- bl memwritebyte
- lis 4,0x8002
- ori 4,4,16402
- lwz 3,MyTimerObject@l(25)
- li 5,0
- bl PPCSetTimerObject
- bl CalcTimer
- lwz 9,LoopCount@l(24)
- mr 10,9
- li 9,0
- mulhw 7,31,10
- mullw 8,31,10
- srwi 5,10,31
- add 5,5,9
- mullw 5,5,31
- srwi 0,31,31
- add 0,0,30
- lwz 6,ticks@l(21)
- mullw 0,0,10
- mr 12,6
- li 11,0
- add 7,7,5
- add 7,7,0
- mulhw 3,8,12
- mullw 4,8,12
- srwi 29,12,31
- add 29,29,11
- mullw 29,29,8
- srwi 0,8,31
- add 0,0,7
- mullw 0,0,12
- lwz 9,0(22)
- lwz 10,4(22)
- lwz 11,0(23)
- lwz 12,4(23)
- subfc 6,10,12
- subfe 5,9,11
- add 3,3,29
- add 3,3,0
- crxor 6,6,6
- bl __divdi3
- crxor 6,6,6
- bl __floatdidf
- fdiv 1,1,31
- addis 3,0,.LC25@ha
- addi 3,3,.LC25@l
- mr 4,30
- mr 5,31
- creqv 6,6,6
- bl PPCprintf
- li 3,0
- li 4,4096
- bl PPCSetSignal
- andi. 0,3,4096
- bc 4,2,.L92
- srwi 11,31,31
- slwi 0,30,1
- or 9,11,0
- slwi 10,31,1
- mr 30,9
- mr 31,10
- .L101:
- addis 9,0,MemSize@ha
- lwz 0,MemSize@l(9)
- mr 10,0
- li 9,0
- cmpw 1,30,9
- bc 12,5,.L92
- bc 4,6,.L104
- cmplw 1,31,10
- bc 4,5,.L104
- .L92:
- lwz 0,84(1)
- mtlr 0
- lwz 20,24(1)
- lwz 21,28(1)
- lwz 22,32(1)
- lwz 23,36(1)
- lwz 24,40(1)
- lwz 25,44(1)
- lwz 26,48(1)
- lwz 27,52(1)
- lwz 28,56(1)
- lwz 29,60(1)
- lwz 30,64(1)
- lwz 31,68(1)
- lfd 31,72(1)
- addi 1,1,80
- blr
- .Lfe5:
- .size MemorySingleTest,.Lfe5-MemorySingleTest
- .comm MyArgs,36,4
- .comm SysBase,4,4
- .comm DOSBase,4,4
- .comm Result,8,8
- .comm MyTimerObject,4,4
- .comm ticks,4,4
- .comm allticks,8,8
- .comm MemSize,4,4
- .comm Intenar,2,2
- .comm CacheBorder,4,4
- .comm CacheSize,4,4
- .ident "GCC: (GNU) 2.7.2.1"
-